1. Field of the Invention
The present invention relates to a system and method of using range requests and pipelining to segment a data resource and transfer it over multiple network interfaces.
2. Discussion of the Background
Even though user devices are often equipped with multiple network interfaces and in reach of several access networks at the same time, data to or from the Internet is normally communicated over only one of the access networks at a time. Also, even when a user device establishes multiple links to multiple access networks using its network interfaces, data to or from a particular data resource on the Internet is normally communicated over only one network link at a time. The result is that only some of the bandwidth that is theoretically available is actually used when content is delivered to a device. A multilink solution, where content is delivered over several network interfaces simultaneously would help remedy this issue. However, a major hurdle in the deployment of a multilink solution is the lack of server-side support. Although there have been suggested modifications to TCP and SCTP, standard transport protocols are unable to provide host-based bandwidth aggregation. For example, TCP is purely end-to-end and allows only one IP address (one interface) on each side. SCTP supports multiple IP addresses per endpoint, but uses them only for failover. A common approach is therefore to provide specialized libraries that transparently partition application-layer data into multiple transport streams. However, the implementation of such middleware requires software modifications to clients and servers.